package hongcaosp.app.android.contact;

import java.util.ArrayList;
import java.util.List;

import hongcaosp.app.android.common.IListView;
import hongcaosp.app.android.login.UserToken;
import hongcaosp.app.android.modle.DataCallBack;
import hongcaosp.app.android.modle.bean.DynamicVideo;
import hongcaosp.app.android.modle.bean.IDynamic;
import hongcaosp.app.android.modle.bean.IMessageData;
import hongcaosp.app.android.modle.bean.Message;
import hongcaosp.app.android.modle.bean.Pagebean;
import hongcaosp.app.android.modle.impl.MessageModleImpl;
import hongcaosp.app.android.modle.mi.MessageModle;
import xlj.lib.android.base.component.BasePresenter;

public class MessagePresenter extends BasePresenter {
    private IListView listView;

    private int type;
    private MessageModle messageModle;
    private int number;
    private int total;

    public MessagePresenter(IListView view, int type) {
        this.listView = view;
        this.type = type;
        messageModle = new MessageModleImpl();
    }

    public void freshMessage() {

//        List<IMessageData> data = new ArrayList<>();
//        for (int i = 0; i < 5; i++) {
//            final int n = i;
//            data.add(new IMessageData() {
//                @Override
//                public String getImage() {
//                    return null;
//                }
//
//                @Override
//                public String getNickname() {
//                    return "用户" + n;
//                }
//
//                @Override
//                public String getDes() {
//                    return "这是描述" + n;
//                }
//
//                @Override
//                public String getTime() {
//                    return "10-" + (18 + n);
//                }
//            });
//        }
//        messageView.freshMessageList(data,false);

        fresh();
    }

    public void fresh() {
        number = 1;
        messageModle.messageList(UserToken.getDefault().getToken(), type, number, 20,
                new DataCallBack<Pagebean<Message>>() {
                    @Override
                    public void onGetData(Pagebean<Message> data) {
                        super.onGetData(data);
                        boolean loadMore = false;
                        total = data.getList() == null ? 0 : data.getList().size();
                        if (data.getTotal() > total) {
                            loadMore = true;
                        }
                        List<Message> videos = data.getList();
//                List<Message> videoList = new ArrayList<>();
//                videoList.addAll(videos);
                        listView.freshList(videos, loadMore);
                    }

                    @Override
                    public void onFail(int code, String errorMessage) {
                        super.onFail(code, errorMessage);
                        listView.freshList(null, false);
                    }
                });
    }

    public void loadMore() {
        number++;
        messageModle.messageList(UserToken.getDefault().getToken(), type, number, 20,
                new DataCallBack<Pagebean<Message>>() {
                    @Override
                    public void onGetData(Pagebean<Message> data) {
                        super.onGetData(data);
                        boolean loadMore = false;
                        total += data.getList() == null ? 0 : data.getList().size();
                        if (data.getTotal() > total) {
                            loadMore = true;
                        }
                        List<Message> videos = data.getList();
//                List<Message> videoList = new ArrayList<>();
//                videoList.addAll(videos);
                        listView.addList(videos, loadMore);
                    }

                    @Override
                    public void onFail(int code, String errorMessage) {
                        super.onFail(code, errorMessage);
                        listView.addList(null, false);
                    }
                });
    }
}
